package com.lsz.crm.mapper;

import com.lsz.crm.base.BaseMapper;
import com.lsz.crm.model.TreeModel;
import com.lsz.crm.pojo.Module;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface ModuleMapper extends BaseMapper<Module,Integer> {

    /**
     * 查询所有的资源，用于用户角色授权
     * @return
     */
    List<TreeModel> queryAllModules();

    /**
     * 查询所有的资源，用于展示资源列表
     * @return
     */
    List<Module> queryModules();

    Module queryModuleByGradeAndModuleName(@Param("grade") Integer grade, @Param("moduleName") String moduleName);

    Module queryModuleByGradeAndUrl(@Param("grade")Integer grade, @Param("url")String url);

    Module queryModuleByOptValue(String optValue);

    /**
     * 通过资源id查询子菜单数量
     * @param id
     * @return
     */
    int countSubModuleByParentId(Integer id);
}